//package com.innoking.docsys.config;
//
//import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
//import org.apache.ibatis.session.SqlSessionFactory;
//import org.mybatis.spring.SqlSessionFactoryBean;
//import org.mybatis.spring.annotation.MapperScan;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.context.annotation.Primary;
//import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
//import org.springframework.jdbc.datasource.DataSourceTransactionManager;
//
//import javax.sql.DataSource;
//
///**
// * Created by sunq on 2018/6/28.
// */
//
//@Configuration
//@MapperScan(basePackages = WriteDBConfig.PACKAGE, sqlSessionFactoryRef = "masterSqlSessionFactory")
//public class WriteDBConfig {
//
//    // 精确到 主数据库 目录，以便跟其他数据源隔离
//    static final String PACKAGE = "com.innoking.docsys.*.dao.master";
//    static final String MAPPER_LOCATION = "classpath:mapper/master/*.xml";
//
//
//    @Bean(name = "primaryDataSource")
//    @Qualifier("primaryDataSource")
//    @ConfigurationProperties(prefix = "spring.datasource.primary")
//    public DataSource primaryDataSource(){
//        return DruidDataSourceBuilder.create().build();
//        //return DataSourceBuilder.create().build();
//    }
//
//    @Bean(name = "masterTransactionManager")
//    @Primary
//    public DataSourceTransactionManager masterTransactionManager() {
//        return new DataSourceTransactionManager(primaryDataSource());
//    }
//
//    @Bean(name = "masterSqlSessionFactory")
//    @Primary
//    public SqlSessionFactory masterSqlSessionFactory(@Qualifier("primaryDataSource") DataSource masterDataSource)
//            throws Exception {
//        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
//        sessionFactory.setDataSource(masterDataSource);
//        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
//                .getResources(WriteDBConfig.MAPPER_LOCATION));
//        return sessionFactory.getObject();
//    }
//
//
//
////    @Bean(name = "primaryJdbcTemplate")
////    public JdbcTemplate primaryJdbcTemplate(@Qualifier("primaryDataSource")DataSource dataSource){
////        return new JdbcTemplate(dataSource);
////    }
//
//
//
//
//}
